<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller as PController;
use App\Http\Controllers\HandleCurl2;
use App\Http\Controllers\HandleRedis;

class Controller extends PController
{
    /**
     * 加时操作
     */
    public function addExpire()
    {
        if(self::$userData && isset(self::$userData['token'])) {
            HandleRedis::connectWorker()->expire(self::$userData['token'],self::$userTokenExpire);
        }
    }

    /**
     * 接收开奖数据
     */
    public function openResult()
    {
        $default = [
            '1' => 'start',//开始下注
            '2' => 'stop',//停止下注
            '8' => 'start_result',//开始开奖
            '9' => 'end_result',//结束开奖
            '3' => 'change_shoe',//换靴（视频里的换新牌）
            '45' => 'change_shoe',//换靴（视频里的换新牌）
        ];
        //发给捞仔(todo 用于测试)
        (new \Curl\Curl())->get('http://192.168.3.182:8000/api/openResult',self::$request);
        //判断是否有传content值
        if(isset(self::$request['content'])) {
            //(todo 用于捕获内容=>测试用接收服务端每一条数据数据)
            HandleRedis::setOpenResult(self::$request['content']);

            //数据处理
            $curlData = HandleCurl2::handleData(self::$request['content']);
            if($curlData) {//判断数据是否存在
                //数据处理后获取所有
                $resultData = $curlData->all();
                //状态
                $status = $default[$curlData->result_status()];
                //更新开奖数据
                HandleRedis::setResultData($curlData->tableId(),$resultData);
                //更新开奖状态
                HandleRedis::setTableStatus($curlData->tableId(),$status);
                //更新时间
                HandleRedis::setTableOpenTime($curlData->tableId(),$curlData->result_time(),$status);
            }
        }
        $this->sendToClient(self::$request);//返回给服务端(提示已接收)
        //http://192.168.3.104:8000/   ws://192.168.3.104:7272
    }
}
